<?php
namespace Common\Model;

/**
 * 客栈每种支付方式日收支统计记录表
 * @modify trainyao 2016-01-22 创建
 * @index hotel_type(`hotelentity_id`, `date`);
 */

Class HotelPayReportModel extends \Common\Model\BaseModel
{
    protected $trueTableName = 'tb_hotel_pay_report';

    protected function _before_update(&$data, $options) {
    }

    /**
     * 增加一条或多条数据
     * @modify trainyao 2016-01-22 创建
     * @param  array   $infoArray 统计信息数组
     * @return boolean 执行结果
     */
    public function addInfo($infoArray) {
        // dump('in');
        // dump($infoArray);
        // dump($this->fetchSql(true)->addAll($infoArray));
        return $this->addAll($infoArray) ? true : false;
    }

    /**
     * 保存收入
     * @modify trainyao 2016-01-22 创建
     * @param  integer   $id        条目id
     * @param  string   $income    收入
     * @param  string   $outcome   支出
     * @return boolean              执行结果
     */
    public function saveInfo($id, $income = null, $outcome = null) {
        $option = array(
            'id' => $id,
        );
        $data = array();
        if (!is_null($income)) {
            $data['income'] = $income;
        }
        if (!is_null($outcome)) {
            $data['outcome'] = $outcome;
        }

        return $this->where($option)->save($data) === false ? false : true;
    }

    /**
     * 根据客栈和日期获取收支记录
     * @modify trainyao 2016-01-22 创建
     * @param  integer   $hotelId   客栈id
     * @param  string   $date      日期
     * @return array              收支记录数组
     */
    public function getInfosByHotelDate($hotelId, $startDate, $endDate) {
        $option = array(
            'hotelentity_id' => $hotelId,
        );
        $stringOption = array(
            'date >= "' . $startDate . '"',
            'date <= "' . $endDate . '"',
        );
        $stringOption = implode(' and ', $stringOption);

        $data = $this->where($option)->select();
        return empty($data) ? array() : $data;
    }
}
